ฟยอร์ด คือ คืออะไร

ฟยอร์ด (Forward) คือ อัลกอริทึมหนึ่งในอัลกอริทึมการทำงานในการค้นหาและการเดินทางในกราฟ (Graph) ที่มีวัตถุประสงค์เพื่อหาเส้นทางที่ดีที่สุดหรือสั้นที่สุดจากจุดเริ่มต้น (Start vertex) ไปยังจุดปลายทาง (Goal vertex)

ฟยอร์ดทำงานโดยเริ่มต้นที่จุดเริ่มต้นแล้วพิจารณาหาเส้นทางแต่ละเส้นทางที่เป็นไปได้จากจุดเริ่มต้น โดยคำนวณประเมิน (evaluate) ในแต่ละจุดที่ถูกเยียวยาด้วยกราฟ แล้วจะเลือกจุดที่มีประเมินที่ดีที่สุดเป็นจุดต่อไป แล้วทำซ้ำเช่นนี้ไปเรื่อยๆ จนกระทั่งเจอจุดปลายทาง

อัลกอริทึมฟยอร์ดมีความเป็นระเบียบ (Deterministic) และเป็นอัลกอริทึมที่มีประสิทธิภาพ (Efficient) ในกรณีที่มีจำนวนจุดและเส้นทางในกราฟเป็นจำนวนมาก อาจใช้เวลาทำงานได้นาน ซึ่งนั่นหมายความว่าฟยอร์ดไม่สามารถตอบคำถามเกี่ยวกับ "มีเส้นทางไหนที่เป็นไปได้ที่ผมจะต้องเดินทางในกราฟนี้ด้วยขั้นตอนใด?" ถ้าไม่สามารถทำซ้ำได้อีกต่อไป

หากกราฟนั้นมีเส้นทางที่ไปยังจุดปลายทาง และฟยอร์ดได้ทำงานไปถึงจุดปลายทางนั้นแล้ว อัลกอริทึมฟยอร์ดยังสามารถแสดงผลลัพธ์ให้ได้เป็นเส้นทางที่ดีที่สุดหรือไม่ดีที่สุด โดยค่าประเมินที่สูงสุดหรือต่ำที่สุด (ขึ้นอยู่กับวิธีการประเมิน) ที่ผ่านไปจากจุดเริ่มต้นไปยังจุดปลายทาง

อีกหนึ่งจุดมุ่งหมายที่น่าสนใจของฟยอร์ดคือปัญหา Shortest Path (เส้นทางที่สั้นที่สุดในกราฟ) ซึ่งสามารถแก้ปัญหาดังกล่าวได้โดยใช้อัลกอริทึมฟยอร์ด